/*
 * Copyright (c) 2000-2018, 达梦数据库有限公司.
 * All rights reserved.
 */
package dm

import (
	"bytes"
	"golang.org/x/text/encoding"
	"golang.org/x/text/encoding/ianaindex"
	"golang.org/x/text/transform"
	"io"
	"io/ioutil"
	"math"
)

type dm_build_620 struct{}

var Dm_build_621 = &dm_build_620{}

func (Dm_build_623 *dm_build_620) Dm_build_622(dm_build_624 []byte, dm_build_625 int, dm_build_626 byte) int {
	dm_build_624[dm_build_625] = dm_build_626
	return 1
}

func (Dm_build_628 *dm_build_620) Dm_build_627(dm_build_629 []byte, dm_build_630 int, dm_build_631 int8) int {
	dm_build_629[dm_build_630] = byte(dm_build_631)
	return 1
}

func (Dm_build_633 *dm_build_620) Dm_build_632(dm_build_634 []byte, dm_build_635 int, dm_build_636 int16) int {
	dm_build_634[dm_build_635] = byte(dm_build_636)
	dm_build_635++
	dm_build_634[dm_build_635] = byte(dm_build_636 >> 8)
	return 2
}

func (Dm_build_638 *dm_build_620) Dm_build_637(dm_build_639 []byte, dm_build_640 int, dm_build_641 int32) int {
	dm_build_639[dm_build_640] = byte(dm_build_641)
	dm_build_640++
	dm_build_639[dm_build_640] = byte(dm_build_641 >> 8)
	dm_build_640++
	dm_build_639[dm_build_640] = byte(dm_build_641 >> 16)
	dm_build_640++
	dm_build_639[dm_build_640] = byte(dm_build_641 >> 24)
	dm_build_640++
	return 4
}

func (Dm_build_643 *dm_build_620) Dm_build_642(dm_build_644 []byte, dm_build_645 int, dm_build_646 int64) int {
	dm_build_644[dm_build_645] = byte(dm_build_646)
	dm_build_645++
	dm_build_644[dm_build_645] = byte(dm_build_646 >> 8)
	dm_build_645++
	dm_build_644[dm_build_645] = byte(dm_build_646 >> 16)
	dm_build_645++
	dm_build_644[dm_build_645] = byte(dm_build_646 >> 24)
	dm_build_645++
	dm_build_644[dm_build_645] = byte(dm_build_646 >> 32)
	dm_build_645++
	dm_build_644[dm_build_645] = byte(dm_build_646 >> 40)
	dm_build_645++
	dm_build_644[dm_build_645] = byte(dm_build_646 >> 48)
	dm_build_645++
	dm_build_644[dm_build_645] = byte(dm_build_646 >> 56)
	return 8
}

func (Dm_build_648 *dm_build_620) Dm_build_647(dm_build_649 []byte, dm_build_650 int, dm_build_651 float32) int {
	return Dm_build_648.Dm_build_667(dm_build_649, dm_build_650, math.Float32bits(dm_build_651))
}

func (Dm_build_653 *dm_build_620) Dm_build_652(dm_build_654 []byte, dm_build_655 int, dm_build_656 float64) int {
	return Dm_build_653.Dm_build_672(dm_build_654, dm_build_655, math.Float64bits(dm_build_656))
}

func (Dm_build_658 *dm_build_620) Dm_build_657(dm_build_659 []byte, dm_build_660 int, dm_build_661 uint8) int {
	dm_build_659[dm_build_660] = byte(dm_build_661)
	return 1
}

func (Dm_build_663 *dm_build_620) Dm_build_662(dm_build_664 []byte, dm_build_665 int, dm_build_666 uint16) int {
	dm_build_664[dm_build_665] = byte(dm_build_666)
	dm_build_665++
	dm_build_664[dm_build_665] = byte(dm_build_666 >> 8)
	return 2
}

func (Dm_build_668 *dm_build_620) Dm_build_667(dm_build_669 []byte, dm_build_670 int, dm_build_671 uint32) int {
	dm_build_669[dm_build_670] = byte(dm_build_671)
	dm_build_670++
	dm_build_669[dm_build_670] = byte(dm_build_671 >> 8)
	dm_build_670++
	dm_build_669[dm_build_670] = byte(dm_build_671 >> 16)
	dm_build_670++
	dm_build_669[dm_build_670] = byte(dm_build_671 >> 24)
	return 3
}

func (Dm_build_673 *dm_build_620) Dm_build_672(dm_build_674 []byte, dm_build_675 int, dm_build_676 uint64) int {
	dm_build_674[dm_build_675] = byte(dm_build_676)
	dm_build_675++
	dm_build_674[dm_build_675] = byte(dm_build_676 >> 8)
	dm_build_675++
	dm_build_674[dm_build_675] = byte(dm_build_676 >> 16)
	dm_build_675++
	dm_build_674[dm_build_675] = byte(dm_build_676 >> 24)
	dm_build_675++
	dm_build_674[dm_build_675] = byte(dm_build_676 >> 32)
	dm_build_675++
	dm_build_674[dm_build_675] = byte(dm_build_676 >> 40)
	dm_build_675++
	dm_build_674[dm_build_675] = byte(dm_build_676 >> 48)
	dm_build_675++
	dm_build_674[dm_build_675] = byte(dm_build_676 >> 56)
	return 3
}

func (Dm_build_678 *dm_build_620) Dm_build_677(dm_build_679 []byte, dm_build_680 int, dm_build_681 []byte, dm_build_682 int, dm_build_683 int) int {
	copy(dm_build_679[dm_build_680:dm_build_680+dm_build_683], dm_build_681[dm_build_682:dm_build_682+dm_build_683])
	return dm_build_683
}

func (Dm_build_685 *dm_build_620) Dm_build_684(dm_build_686 []byte, dm_build_687 int, dm_build_688 []byte, dm_build_689 int, dm_build_690 int) int {
	dm_build_687 += Dm_build_685.Dm_build_667(dm_build_686, dm_build_687, uint32(dm_build_690))
	return 4 + Dm_build_685.Dm_build_677(dm_build_686, dm_build_687, dm_build_688, dm_build_689, dm_build_690)
}

func (Dm_build_692 *dm_build_620) Dm_build_691(dm_build_693 []byte, dm_build_694 int, dm_build_695 []byte, dm_build_696 int, dm_build_697 int) int {
	dm_build_694 += Dm_build_692.Dm_build_662(dm_build_693, dm_build_694, uint16(dm_build_697))
	return 2 + Dm_build_692.Dm_build_677(dm_build_693, dm_build_694, dm_build_695, dm_build_696, dm_build_697)
}

func (Dm_build_699 *dm_build_620) Dm_build_698(dm_build_700 []byte, dm_build_701 int, dm_build_702 string, dm_build_703 string, dm_build_704 *DmConnection) int {
	dm_build_705 := Dm_build_699.Dm_build_834(dm_build_702, dm_build_703, dm_build_704)
	dm_build_701 += Dm_build_699.Dm_build_667(dm_build_700, dm_build_701, uint32(len(dm_build_705)))
	return 4 + Dm_build_699.Dm_build_677(dm_build_700, dm_build_701, dm_build_705, 0, len(dm_build_705))
}

func (Dm_build_707 *dm_build_620) Dm_build_706(dm_build_708 []byte, dm_build_709 int, dm_build_710 string, dm_build_711 string, dm_build_712 *DmConnection) int {
	dm_build_713 := Dm_build_707.Dm_build_834(dm_build_710, dm_build_711, dm_build_712)

	dm_build_709 += Dm_build_707.Dm_build_662(dm_build_708, dm_build_709, uint16(len(dm_build_713)))
	return 2 + Dm_build_707.Dm_build_677(dm_build_708, dm_build_709, dm_build_713, 0, len(dm_build_713))
}

func (Dm_build_715 *dm_build_620) Dm_build_714(dm_build_716 []byte, dm_build_717 int) byte {
	return dm_build_716[dm_build_717]
}

func (Dm_build_719 *dm_build_620) Dm_build_718(dm_build_720 []byte, dm_build_721 int) int16 {
	var dm_build_722 int16
	dm_build_722 = int16(dm_build_720[dm_build_721] & 0xff)
	dm_build_721++
	dm_build_722 |= int16(dm_build_720[dm_build_721]&0xff) << 8
	return dm_build_722
}

func (Dm_build_724 *dm_build_620) Dm_build_723(dm_build_725 []byte, dm_build_726 int) int32 {
	var dm_build_727 int32
	dm_build_727 = int32(dm_build_725[dm_build_726] & 0xff)
	dm_build_726++
	dm_build_727 |= int32(dm_build_725[dm_build_726]&0xff) << 8
	dm_build_726++
	dm_build_727 |= int32(dm_build_725[dm_build_726]&0xff) << 16
	dm_build_726++
	dm_build_727 |= int32(dm_build_725[dm_build_726]&0xff) << 24
	return dm_build_727
}

func (Dm_build_729 *dm_build_620) Dm_build_728(dm_build_730 []byte, dm_build_731 int) int64 {
	var dm_build_732 int64
	dm_build_732 = int64(dm_build_730[dm_build_731] & 0xff)
	dm_build_731++
	dm_build_732 |= int64(dm_build_730[dm_build_731]&0xff) << 8
	dm_build_731++
	dm_build_732 |= int64(dm_build_730[dm_build_731]&0xff) << 16
	dm_build_731++
	dm_build_732 |= int64(dm_build_730[dm_build_731]&0xff) << 24
	dm_build_731++
	dm_build_732 |= int64(dm_build_730[dm_build_731]&0xff) << 32
	dm_build_731++
	dm_build_732 |= int64(dm_build_730[dm_build_731]&0xff) << 40
	dm_build_731++
	dm_build_732 |= int64(dm_build_730[dm_build_731]&0xff) << 48
	dm_build_731++
	dm_build_732 |= int64(dm_build_730[dm_build_731]&0xff) << 56
	return dm_build_732
}

func (Dm_build_734 *dm_build_620) Dm_build_733(dm_build_735 []byte, dm_build_736 int) float32 {
	return math.Float32frombits(Dm_build_734.Dm_build_750(dm_build_735, dm_build_736))
}

func (Dm_build_738 *dm_build_620) Dm_build_737(dm_build_739 []byte, dm_build_740 int) float64 {
	return math.Float64frombits(Dm_build_738.Dm_build_755(dm_build_739, dm_build_740))
}

func (Dm_build_742 *dm_build_620) Dm_build_741(dm_build_743 []byte, dm_build_744 int) uint8 {
	return uint8(dm_build_743[dm_build_744] & 0xff)
}

func (Dm_build_746 *dm_build_620) Dm_build_745(dm_build_747 []byte, dm_build_748 int) uint16 {
	var dm_build_749 uint16
	dm_build_749 = uint16(dm_build_747[dm_build_748] & 0xff)
	dm_build_748++
	dm_build_749 |= uint16(dm_build_747[dm_build_748]&0xff) << 8
	return dm_build_749
}

func (Dm_build_751 *dm_build_620) Dm_build_750(dm_build_752 []byte, dm_build_753 int) uint32 {
	var dm_build_754 uint32
	dm_build_754 = uint32(dm_build_752[dm_build_753] & 0xff)
	dm_build_753++
	dm_build_754 |= uint32(dm_build_752[dm_build_753]&0xff) << 8
	dm_build_753++
	dm_build_754 |= uint32(dm_build_752[dm_build_753]&0xff) << 16
	dm_build_753++
	dm_build_754 |= uint32(dm_build_752[dm_build_753]&0xff) << 24
	return dm_build_754
}

func (Dm_build_756 *dm_build_620) Dm_build_755(dm_build_757 []byte, dm_build_758 int) uint64 {
	var dm_build_759 uint64
	dm_build_759 = uint64(dm_build_757[dm_build_758] & 0xff)
	dm_build_758++
	dm_build_759 |= uint64(dm_build_757[dm_build_758]&0xff) << 8
	dm_build_758++
	dm_build_759 |= uint64(dm_build_757[dm_build_758]&0xff) << 16
	dm_build_758++
	dm_build_759 |= uint64(dm_build_757[dm_build_758]&0xff) << 24
	dm_build_758++
	dm_build_759 |= uint64(dm_build_757[dm_build_758]&0xff) << 32
	dm_build_758++
	dm_build_759 |= uint64(dm_build_757[dm_build_758]&0xff) << 40
	dm_build_758++
	dm_build_759 |= uint64(dm_build_757[dm_build_758]&0xff) << 48
	dm_build_758++
	dm_build_759 |= uint64(dm_build_757[dm_build_758]&0xff) << 56
	return dm_build_759
}

func (Dm_build_761 *dm_build_620) Dm_build_760(dm_build_762 []byte, dm_build_763 int) []byte {
	dm_build_764 := Dm_build_761.Dm_build_750(dm_build_762, dm_build_763)

	dm_build_765 := make([]byte, dm_build_764)
	copy(dm_build_765[:int(dm_build_764)], dm_build_762[dm_build_763+4:dm_build_763+4+int(dm_build_764)])
	return dm_build_765
}

func (Dm_build_767 *dm_build_620) Dm_build_766(dm_build_768 []byte, dm_build_769 int) []byte {
	dm_build_770 := Dm_build_767.Dm_build_745(dm_build_768, dm_build_769)

	dm_build_771 := make([]byte, dm_build_770)
	copy(dm_build_771[:int(dm_build_770)], dm_build_768[dm_build_769+2:dm_build_769+2+int(dm_build_770)])
	return dm_build_771
}

func (Dm_build_773 *dm_build_620) Dm_build_772(dm_build_774 []byte, dm_build_775 int, dm_build_776 int) []byte {

	dm_build_777 := make([]byte, dm_build_776)
	copy(dm_build_777[:dm_build_776], dm_build_774[dm_build_775:dm_build_775+dm_build_776])
	return dm_build_777
}

func (Dm_build_779 *dm_build_620) Dm_build_778(dm_build_780 []byte, dm_build_781 int, dm_build_782 int, dm_build_783 string, dm_build_784 *DmConnection) string {
	return Dm_build_779.Dm_build_871(dm_build_780[dm_build_781:dm_build_781+dm_build_782], dm_build_783, dm_build_784)
}

func (Dm_build_786 *dm_build_620) Dm_build_785(dm_build_787 []byte, dm_build_788 int, dm_build_789 string, dm_build_790 *DmConnection) string {
	dm_build_791 := Dm_build_786.Dm_build_750(dm_build_787, dm_build_788)
	dm_build_788 += 4
	return Dm_build_786.Dm_build_778(dm_build_787, dm_build_788, int(dm_build_791), dm_build_789, dm_build_790)
}

func (Dm_build_793 *dm_build_620) Dm_build_792(dm_build_794 []byte, dm_build_795 int, dm_build_796 string, dm_build_797 *DmConnection) string {
	dm_build_798 := Dm_build_793.Dm_build_745(dm_build_794, dm_build_795)
	dm_build_795 += 2
	return Dm_build_793.Dm_build_778(dm_build_794, dm_build_795, int(dm_build_798), dm_build_796, dm_build_797)
}

func (Dm_build_800 *dm_build_620) Dm_build_799(dm_build_801 byte) []byte {
	return []byte{dm_build_801}
}

func (Dm_build_803 *dm_build_620) Dm_build_802(dm_build_804 int16) []byte {
	return []byte{byte(dm_build_804), byte(dm_build_804 >> 8)}
}

func (Dm_build_806 *dm_build_620) Dm_build_805(dm_build_807 int32) []byte {
	return []byte{byte(dm_build_807), byte(dm_build_807 >> 8), byte(dm_build_807 >> 16), byte(dm_build_807 >> 24)}
}

func (Dm_build_809 *dm_build_620) Dm_build_808(dm_build_810 int64) []byte {
	return []byte{byte(dm_build_810), byte(dm_build_810 >> 8), byte(dm_build_810 >> 16), byte(dm_build_810 >> 24), byte(dm_build_810 >> 32),
		byte(dm_build_810 >> 40), byte(dm_build_810 >> 48), byte(dm_build_810 >> 56)}
}

func (Dm_build_812 *dm_build_620) Dm_build_811(dm_build_813 float32) []byte {
	return Dm_build_812.Dm_build_823(math.Float32bits(dm_build_813))
}

func (Dm_build_815 *dm_build_620) Dm_build_814(dm_build_816 float64) []byte {
	return Dm_build_815.Dm_build_826(math.Float64bits(dm_build_816))
}

func (Dm_build_818 *dm_build_620) Dm_build_817(dm_build_819 uint8) []byte {
	return []byte{byte(dm_build_819)}
}

func (Dm_build_821 *dm_build_620) Dm_build_820(dm_build_822 uint16) []byte {
	return []byte{byte(dm_build_822), byte(dm_build_822 >> 8)}
}

func (Dm_build_824 *dm_build_620) Dm_build_823(dm_build_825 uint32) []byte {
	return []byte{byte(dm_build_825), byte(dm_build_825 >> 8), byte(dm_build_825 >> 16), byte(dm_build_825 >> 24)}
}

func (Dm_build_827 *dm_build_620) Dm_build_826(dm_build_828 uint64) []byte {
	return []byte{byte(dm_build_828), byte(dm_build_828 >> 8), byte(dm_build_828 >> 16), byte(dm_build_828 >> 24), byte(dm_build_828 >> 32), byte(dm_build_828 >> 40), byte(dm_build_828 >> 48), byte(dm_build_828 >> 56)}
}

func (Dm_build_830 *dm_build_620) Dm_build_829(dm_build_831 []byte, dm_build_832 string, dm_build_833 *DmConnection) []byte {
	if dm_build_832 == "UTF-8" {
		return dm_build_831
	}

	if dm_build_833 == nil {
		if e := dm_build_876(dm_build_832); e != nil {
			tmp, err := ioutil.ReadAll(
				transform.NewReader(bytes.NewReader(dm_build_831), e.NewEncoder()),
			)
			if err != nil {
				panic("UTF8 To Charset error!")
			}

			return tmp
		}

		panic("Unsupported Charset!")
	}

	if dm_build_833.encodeBuffer == nil {
		dm_build_833.encodeBuffer = bytes.NewBuffer(nil)
		dm_build_833.encode = dm_build_876(dm_build_833.getServerEncoding())
		dm_build_833.transformReaderDst = make([]byte, 4096)
		dm_build_833.transformReaderSrc = make([]byte, 4096)
	}

	if e := dm_build_833.encode; e != nil {

		dm_build_833.encodeBuffer.Reset()

		n, err := dm_build_833.encodeBuffer.ReadFrom(
			Dm_build_890(bytes.NewReader(dm_build_831), e.NewEncoder(), dm_build_833.transformReaderDst, dm_build_833.transformReaderSrc),
		)
		if err != nil {
			panic("UTF8 To Charset error!")
		}
		var tmp = make([]byte, n)
		if _, err = dm_build_833.encodeBuffer.Read(tmp); err != nil {
			panic("UTF8 To Charset error!")
		}
		return tmp
	}

	panic("Unsupported Charset!")
}

func (Dm_build_835 *dm_build_620) Dm_build_834(dm_build_836 string, dm_build_837 string, dm_build_838 *DmConnection) []byte {
	return Dm_build_835.Dm_build_829([]byte(dm_build_836), dm_build_837, dm_build_838)
}

func (Dm_build_840 *dm_build_620) Dm_build_839(dm_build_841 []byte) byte {
	return Dm_build_840.Dm_build_714(dm_build_841, 0)
}

func (Dm_build_843 *dm_build_620) Dm_build_842(dm_build_844 []byte) int16 {
	return Dm_build_843.Dm_build_718(dm_build_844, 0)
}

func (Dm_build_846 *dm_build_620) Dm_build_845(dm_build_847 []byte) int32 {
	return Dm_build_846.Dm_build_723(dm_build_847, 0)
}

func (Dm_build_849 *dm_build_620) Dm_build_848(dm_build_850 []byte) int64 {
	return Dm_build_849.Dm_build_728(dm_build_850, 0)
}

func (Dm_build_852 *dm_build_620) Dm_build_851(dm_build_853 []byte) float32 {
	return Dm_build_852.Dm_build_733(dm_build_853, 0)
}

func (Dm_build_855 *dm_build_620) Dm_build_854(dm_build_856 []byte) float64 {
	return Dm_build_855.Dm_build_737(dm_build_856, 0)
}

func (Dm_build_858 *dm_build_620) Dm_build_857(dm_build_859 []byte) uint8 {
	return Dm_build_858.Dm_build_741(dm_build_859, 0)
}

func (Dm_build_861 *dm_build_620) Dm_build_860(dm_build_862 []byte) uint16 {
	return Dm_build_861.Dm_build_745(dm_build_862, 0)
}

func (Dm_build_864 *dm_build_620) Dm_build_863(dm_build_865 []byte) uint32 {
	return Dm_build_864.Dm_build_750(dm_build_865, 0)
}

func (Dm_build_867 *dm_build_620) Dm_build_866(dm_build_868 []byte, dm_build_869 string, dm_build_870 *DmConnection) []byte {
	if dm_build_869 == "UTF-8" {
		return dm_build_868
	}

	if dm_build_870 == nil {
		if e := dm_build_876(dm_build_869); e != nil {

			tmp, err := ioutil.ReadAll(
				transform.NewReader(bytes.NewReader(dm_build_868), e.NewDecoder()),
			)
			if err != nil {

				panic("Charset To UTF8 error!")
			}

			return tmp
		}

		panic("Unsupported Charset!")
	}

	if dm_build_870.encodeBuffer == nil {
		dm_build_870.encodeBuffer = bytes.NewBuffer(nil)
		dm_build_870.encode = dm_build_876(dm_build_870.getServerEncoding())
		dm_build_870.transformReaderDst = make([]byte, 4096)
		dm_build_870.transformReaderSrc = make([]byte, 4096)
	}

	if e := dm_build_870.encode; e != nil {

		dm_build_870.encodeBuffer.Reset()

		n, err := dm_build_870.encodeBuffer.ReadFrom(
			Dm_build_890(bytes.NewReader(dm_build_868), e.NewDecoder(), dm_build_870.transformReaderDst, dm_build_870.transformReaderSrc),
		)
		if err != nil {

			panic("Charset To UTF8 error!")
		}

		return dm_build_870.encodeBuffer.Next(int(n))
	}

	panic("Unsupported Charset!")
}

func (Dm_build_872 *dm_build_620) Dm_build_871(dm_build_873 []byte, dm_build_874 string, dm_build_875 *DmConnection) string {
	return string(Dm_build_872.Dm_build_866(dm_build_873, dm_build_874, dm_build_875))
}

func dm_build_876(dm_build_877 string) encoding.Encoding {
	if e, err := ianaindex.MIB.Encoding(dm_build_877); err == nil && e != nil {
		return e
	}
	return nil
}

type Dm_build_878 struct {
	dm_build_879 io.Reader
	dm_build_880 transform.Transformer
	dm_build_881 error

	dm_build_882               []byte
	dm_build_883, dm_build_884 int

	dm_build_885               []byte
	dm_build_886, dm_build_887 int

	dm_build_888 bool
}

const dm_build_889 = 4096

func Dm_build_890(dm_build_891 io.Reader, dm_build_892 transform.Transformer, dm_build_893 []byte, dm_build_894 []byte) *Dm_build_878 {
	dm_build_892.Reset()
	return &Dm_build_878{
		dm_build_879: dm_build_891,
		dm_build_880: dm_build_892,
		dm_build_882: dm_build_893,
		dm_build_885: dm_build_894,
	}
}

func (dm_build_896 *Dm_build_878) Read(dm_build_897 []byte) (int, error) {
	dm_build_898, dm_build_899 := 0, error(nil)
	for {

		if dm_build_896.dm_build_883 != dm_build_896.dm_build_884 {
			dm_build_898 = copy(dm_build_897, dm_build_896.dm_build_882[dm_build_896.dm_build_883:dm_build_896.dm_build_884])
			dm_build_896.dm_build_883 += dm_build_898
			if dm_build_896.dm_build_883 == dm_build_896.dm_build_884 && dm_build_896.dm_build_888 {
				return dm_build_898, dm_build_896.dm_build_881
			}
			return dm_build_898, nil
		} else if dm_build_896.dm_build_888 {
			return 0, dm_build_896.dm_build_881
		}

		if dm_build_896.dm_build_886 != dm_build_896.dm_build_887 || dm_build_896.dm_build_881 != nil {
			dm_build_896.dm_build_883 = 0
			dm_build_896.dm_build_884, dm_build_898, dm_build_899 = dm_build_896.dm_build_880.Transform(dm_build_896.dm_build_882, dm_build_896.dm_build_885[dm_build_896.dm_build_886:dm_build_896.dm_build_887], dm_build_896.dm_build_881 == io.EOF)
			dm_build_896.dm_build_886 += dm_build_898

			switch {
			case dm_build_899 == nil:
				if dm_build_896.dm_build_886 != dm_build_896.dm_build_887 {
					dm_build_896.dm_build_881 = nil
				}

				dm_build_896.dm_build_888 = dm_build_896.dm_build_881 != nil
				continue
			case dm_build_899 == transform.ErrShortDst && (dm_build_896.dm_build_884 != 0 || dm_build_898 != 0):

				continue
			case dm_build_899 == transform.ErrShortSrc && dm_build_896.dm_build_887-dm_build_896.dm_build_886 != len(dm_build_896.dm_build_885) && dm_build_896.dm_build_881 == nil:

			default:
				dm_build_896.dm_build_888 = true

				if dm_build_896.dm_build_881 == nil || dm_build_896.dm_build_881 == io.EOF {
					dm_build_896.dm_build_881 = dm_build_899
				}
				continue
			}
		}

		if dm_build_896.dm_build_886 != 0 {
			dm_build_896.dm_build_886, dm_build_896.dm_build_887 = 0, copy(dm_build_896.dm_build_885, dm_build_896.dm_build_885[dm_build_896.dm_build_886:dm_build_896.dm_build_887])
		}
		dm_build_898, dm_build_896.dm_build_881 = dm_build_896.dm_build_879.Read(dm_build_896.dm_build_885[dm_build_896.dm_build_887:])
		dm_build_896.dm_build_887 += dm_build_898
	}
}
